JSON থেকে C# Object এ রূপান্তর

JSON এবং C# Integration - জেসন (JSON) - Java Technologies

277

JSON (JavaScript Object Notation) থেকে C# Object এ রূপান্তর করার প্রক্রিয়াটি সাধারণত Deserialization নামে পরিচিত। এটি একটি প্রক্রিয়া যেখানে JSON ডেটাকে C# ক্লাসে কনভার্ট করা হয়, যাতে C# প্রোগ্রাম থেকে JSON ডেটা ব্যবহৃত হতে পারে। C# এ JSON ডেটা ডেসিরিয়ালাইজ (Deserialize) করতে Newtonsoft.Json বা System.Text.Json লাইব্রেরি ব্যবহার করা হয়।

এখানে আমরা Newtonsoft.Json লাইব্রেরি ব্যবহার করে JSON থেকে C# Object এ রূপান্তর (Deserialization) করার প্রক্রিয়া দেখবো।

Newtonsoft.Json ব্যবহার করে JSON থেকে C# Object এ রূপান্তর


১. Newtonsoft.Json লাইব্রেরি যোগ করা

প্রথমে আপনাকে Newtonsoft.Json লাইব্রেরি আপনার প্রজেক্টে যোগ করতে হবে। যদি আপনি NuGet ব্যবহার করেন, তাহলে নিম্নলিখিত কমান্ড দিয়ে লাইব্রেরিটি ইনস্টল করতে পারবেন:

Install-Package Newtonsoft.Json

২. C# ক্লাস তৈরি করা

আপনি যেই JSON ডেটা রূপান্তর করতে চান, তার সাথে সঙ্গতিপূর্ণ একটি C# ক্লাস তৈরি করতে হবে। ধরুন, আমাদের একটি JSON ডেটা রয়েছে যেখানে নাম এবং বয়সের তথ্য রয়েছে:

{
    "name": "Alice",
    "age": 28
}

এটি C# তে একটি ক্লাসে রূপান্তর করার জন্য নিচে একটি C# ক্লাস তৈরি করতে হবে:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

৩. JSON থেকে C# Object এ রূপান্তর (Deserialization)

এখন, আমরা Newtonsoft.Json ব্যবহার করে JSON ডেটাকে C# অবজেক্টে রূপান্তর করতে পারি। নিচে একটি উদাহরণ দেখানো হয়েছে:

using Newtonsoft.Json;
using System;

class Program
{
    static void Main()
    {
        // JSON ডেটা
        string json = "{\"name\":\"Alice\",\"age\":28}";

        // JSON থেকে C# অবজেক্টে রূপান্তর (Deserialization)
        Person person = JsonConvert.DeserializeObject<Person>(json);

        // C# অবজেক্টের ডেটা প্রিন্ট করা
        Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
    }
}

এখানে:

  • JsonConvert.DeserializeObject<Person>(json) মেথডটি JSON ডেটা কে C# ক্লাস Person এ রূপান্তর করবে।
  • JSON ডেটা সঠিকভাবে C# অবজেক্টে রূপান্তর হয়ে যাবে, এবং পরে সেই অবজেক্ট থেকে প্রপার্টি অ্যাক্সেস করা যাবে।

৪. আউটপুট

উপরোক্ত কোডটি চালানোর পর, আউটপুট হবে:

Name: Alice, Age: 28

এখানে JSON ডেটা সঠিকভাবে C# অবজেক্টে রূপান্তরিত হয়ে আউটপুট প্রদর্শিত হয়েছে।


System.Text.Json ব্যবহার করে JSON থেকে C# Object এ রূপান্তর


C# 8.0 এবং তার পরবর্তী সংস্করণে, .NET Core এ System.Text.Json লাইব্রেরি অন্তর্ভুক্ত করা হয়েছে, যা JSON প্রোসেসিংয়ের জন্য একটি বিল্ট-ইন লাইব্রেরি। এই লাইব্রেরি ব্যবহার করেও JSON থেকে C# Object এ রূপান্তর করা সম্ভব।

১. System.Text.Json ব্যবহার করে JSON থেকে C# Object এ রূপান্তর

using System;
using System.Text.Json;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        // JSON ডেটা
        string json = "{\"name\":\"Alice\",\"age\":28}";

        // JSON থেকে C# অবজেক্টে রূপান্তর (Deserialization)
        Person person = JsonSerializer.Deserialize<Person>(json);

        // C# অবজেক্টের ডেটা প্রিন্ট করা
        Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
    }
}

এখানে:

  • JsonSerializer.Deserialize<Person>(json) মেথডটি JSON ডেটাকে C# অবজেক্টে রূপান্তর করবে।

২. আউটপুট

উপরোক্ত কোডটি চালানোর পর, আউটপুট হবে:

Name: Alice, Age: 28

JSON থেকে C# Object এ রূপান্তর করার সময় কিছু গুরুত্বপূর্ণ বিষয়


  • Property Naming: যদি JSON এর কীগুলোর নাম C# ক্লাসের প্রপার্টি নামের সাথে মেলে না, তবে আপনি [JsonProperty] বা [JsonPropertyName] অ্যাট্রিবিউট ব্যবহার করতে পারেন (Newtonsoft.Json বা System.Text.Json এ)।

    উদাহরণ:

    public class Person
    {
        [JsonProperty("name")]  // Newtonsoft.Json এর জন্য
        public string Name { get; set; }
    
        [JsonProperty("age")]
        public int Age { get; set; }
    }
    
  • Error Handling: JSON ডেটা যখন C# অবজেক্টে রূপান্তরিত হয়, তখন যদি কোনো সমস্যা হয়, যেমন ডেটা ফর্ম্যাট ভুল, তাহলে আপনি try-catch ব্লক ব্যবহার করে এরর হ্যান্ডলিং করতে পারেন।

সারাংশ


JSON থেকে C# Object এ রূপান্তর (Deserialization) করার জন্য Newtonsoft.Json এবং System.Text.Json দুটি শক্তিশালী এবং জনপ্রিয় লাইব্রেরি রয়েছে। Newtonsoft.Json লাইব্রেরি বেশি ব্যবহৃত হলেও, .NET Core-এ System.Text.Json একটি বিল্ট-ইন অপশন হিসেবে আসে। JSON ডেটা থেকে C# অবজেক্ট তৈরি করতে DeserializeObject() বা JsonSerializer.Deserialize() মেথড ব্যবহার করা হয়, এবং আপনি প্রপার্টি নাম মেলানোর জন্য JsonProperty অ্যাট্রিবিউট ব্যবহার করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...